Các giai đoạn trong phát triển Vòng đời phát hành phần mềm

Tiền alpha

Đây là giai đoạn sơ khai nhất, bao gồm những hoạt động được thực hiện trước khi vào giai đoạn kiểm thử phần mềm. Những hoạt động trong giai đoạn này gồm có phân tích yêu cầu, thiết kế phần mềm, phát triển phần mềm, kiểm thử đơn vị (unit testing).

Alpha

Giai đoạn này là pha đầu tiên bắt đầu kiểm thử phần mềm trong vòng đời phát hành (alpha là ký tự đầu tiên trong bảng chữ cái Hy Lạp, được sử dụng như số 1). Các kĩ thuật kiểm thử chủ yếu là hộp trắng (white box testing). Việc phê duyệt (validation) (nếu có) bằng các kĩ thuật hộp đen hoặc hộp xám sẽ được tiến hành bởi những đội ngũ kiểm thử khác.[2]

Các phần mềm trong giai đoạn này đều chưa hoàn chỉnh và có thể gây ra mất dữ liệu hoặc crash, nên những phiên bản phần mềm như vậy thường không được công bố rộng rãi mà chỉ khuyến khích bộ phận kiểm thử hay những người tình nguyện kiểm thử sử dụng nhằm tìm kiếm lỗi. Tuy nhiên, đối với những phần mềm mã nguồn mở thì có thể có một chút khác biệt. Những phiên bản alpha của chúng thường được phân phối công khai và thường kèm theo mã nguồn của phần mềm đó.

Giai đoạn alpha luôn luôn được kết thúc bằng việc không bổ sung thêm chức năng nào nữa (feature freeze), như vậy có thể nói phần mềm sau giai đoạn này là "đã hoàn chỉnh về chức năng" (feature complete).

Beta

Trong hệ thống bảng chữ cái Hy Lạp thì Beta đứng liền sau Alpha nên được xem là pha tiếp theo sau giai đoạn hoàn chỉnh các chức năng. Từ giai đoạn này trờ đi, các chức năng sẽ không được thêm mới vào nữa, và những chức năng mới được đề xuất bổ sung sẽ được đưa vào vòng đời mới sau khi kết thúc vòng đời hiện tại. Phần mềm trong pha này vẫn còn nhiều lỗi (bugs), cũng như các vấn đề về hiệu năng.

Khác với giai đoạn alpha, phần mềm ở pha này được xem là đủ ổn định (tuy vẫn chưa thể ổn định để sử dụng hằng ngày hoặc trong môi trường công việc) để công bố rộng rãi, người dùng có thể truy cập công khai và sử dụng nếu muốn. Những người sử dụng phần mềm beta với mục đích kiểm tra phát hiện lỗi và báo cáo lỗi cho nhà phát triển được gọi là beta testers.

Một số thuật ngữ khác thường được dùng để chỉ giai đoạn beta như preview, prototype, techical preview (TP), hoặc early access.

Open và closed beta

Các nhà phát triển có thể phát hành ''bản beta đóng'' (closed beta), còn được gọi là ''bản beta riêng tư'' (private beta) hoặc ''bản beta mở'' (open beta), còn được gọi là ''bản beta công khai'' (public beta); phiên bản beta kín được phát hành cho một nhóm cá nhân bị hạn chế để người dùng thử nghiệm theo lời mời, trong khi những người thử nghiệm beta mở thuộc một nhóm lớn hơn hoặc bất kỳ ai quan tâm. Bản beta riêng tư có thể phù hợp với phần mềm có khả năng mang lại giá trị, nhưng chưa sẵn sàng để mọi người sử dụng do các vấn đề về quy mô, thiếu tài liệu hoặc vẫn còn thiếu các tính năng quan trọng. Người kiểm tra báo cáo bất kỳ lỗi nào mà họ tìm thấy và đôi khi đề xuất các tính năng bổ sung mà họ cho rằng nên có trong phiên bản cuối cùng.

Các bản beta mở phục vụ với mục đích kép là giới thiệu sản phẩm cho người dùng tiềm năng và thử nghiệm giữa một lượng lớn người dùng có khả năng dẫn đến các lỗi nhẹ mà nhóm thử nghiệm nhỏ hơn nhiều có thể không tìm thấy

Release Candidate

Release Candidate hay thường được viết tắt là RC là giai đoạn hậu beta, trong đó phần mềm sau khi trải qua các hoạt động phát hiện lỗi và sửa lỗi ở beta đã trở nên ổn định hơn, và có thể chuyển sang giai đoạn phát hành (release/final) nếu không phát hiện thêm lỗi nghiêm trọng nào nữa. Về mặt kĩ thuật, phần mềm RC được xem như đã có những thiết kế đầy đủ về các tính năng, đã hoàn thành việc viết mã và đã được áp dụng các kĩ thuật kiểm thử khác nhau, nên sẽ không có sự thay đổi nào về mã nguồn, tài liệu hay dữ liệu trừ việc sửa lỗi.

Nhiều phần mềm có thể được dự đoán trước phiên bản cuối cùng của phần mềm khi phát hành nhờ vào sự chuyển tiếp từ RC sang Final (từ phiên bản phần mềm hiện tại của RC nếu không có sự thay đổi về mã nguồn nào thì đó cũng chính là phiên bản được phát hành vào thời điểm được định trong kế hoạch).

Bản phát hành ổn định

Còn được gọi là bản phát hành sản xuất, bản phát hành ổn định là Release Candidate cuối cùng (RC) sau khi đã vượt qua tất cả các xác minh/thử nghiệm. Các lỗi còn lại được coi là có thể chấp nhận. Bản phát hành này sẽ được đưa vào sản xuất. Một số miền (ví dụ: Bản phân phối Linux), có hai loại bản phát hành ổn định: bản phát hành bình thường hoặc ổn định và bản phát hành hỗ trợ dài hạn (LTS) được duy trì trong một khoảng thời gian dài hơn.

Liên quan

Vòng loại giải vô địch bóng đá châu Âu 2024 Vòng loại Giải vô địch bóng đá thế giới 2026 – Khu vực châu Á Vòng loại Giải vô địch bóng đá thế giới 2022 – Khu vực châu Á Vòng loại Giải vô địch bóng đá thế giới 2026 – Khu vực châu Á (Vòng 2) Vòng loại Cúp bóng đá U-23 châu Á 2024 Vòng loại Giải vô địch bóng đá thế giới 2026 Vòng loại giải vô địch bóng đá châu Âu 2024 (vòng play-off) Vòng loại Giải vô địch bóng đá thế giới 2022 Vòng loại giải vô địch bóng đá châu Âu 2020 Vòng tuần hoàn nước

Tài liệu tham khảo

WikiPedia: Vòng đời phát hành phần mềm http://www.se-cure.ch/Publications.html http://www.methodsandtools.com/archive/archive.php... http://omtco.eu/references/sam/top-200-sam-terms-a... http://www.editorial.co.in/software/software-testi... http://semver.org/ http://www.tldp.org/HOWTO/Software-Proj-Mgmt-HOWTO... https://www.apple.com/newsroom/2001/03/07Mac-OS-X-... https://www.pcmag.com https://www.pcmag.com/encyclopedia/term/37675/alph... https://slate.com/news-and-politics/2009/07/why-go...